<?php

class Attachment {

    public $id_attachment;
    public $name;
    public $description;
    public $date;
    public $id_user;
    public $id_materia;
    public $weight;
    public $file_url;

    public function __construct($id_attachment=null, $name=null, $date=null, $description=null, $id_user=null, $id_materia=null, $weight=null, $file_url) {

        $this->id_attachment = $id_attachment;
        $this->name = $name;
        $this->date = $date;
        $this->description = $description;
        $this->id_user = $id_user;
        $this->id_materia = $id_materia;
        $this->weight = $weight;
        $this->file_url = $file_url;
    }

    public static function addAttachment($name, $date, $description, $id_user, $id_materia, $weight, $file_url) {
        // Preparazione della query per la creazione dell'utente
        $sql = "INSERT INTO `attachment` VALUES('NULL', ?, ?, ?, ?, ?, ?, ?)";

        // Inserimento dell'utente nel DB
        $result = Database::getInstance()->getConnection()->Execute($sql, array($date, $name, $description, $id_user, $id_materia, $weight, $file_url));

        //$result->close();

        if (!Database::getInstance()->getConnection()->Insert_ID()) {
            return false;
        } else {
            return Database::getInstance()->getConnection()->Insert_ID();
        }
    }

    public static function deleteAttachment($id_attachment) {
        // Preparazione della query per la creazione dell'utente
        $sql = "DELETE FROM attachment WHERE id_attachment = ?";

        // Inserimento dell'utente nel DB
        $result = Database::getInstance()->getConnection()->Execute($sql, array($id_attachment));

        if (!Database::getInstance()->getConnection()->Affected_Rows()) {
            return false;
        } else {
            return Database::getInstance()->getConnection()->Affected_Rows();
        }

        //$result->close();
    }

    public static function getNews() {
        $news = array();
        // Preparo la query per cercare nel DB un utente con email e password corrispondenti ai dati immessi dall'utente su login
        $sql = "SELECT * FROM attachment ORDER BY date DESC LIMIT 3";

        // Eseguo la query per tratte i risultati
        $result = Database::getInstance()->getConnection()->Execute($sql);

        // Se non ha trovato solo un record esce altrimenti vuoi dire che hai dati immessi corrisponde un solo utente, quindi estrapola tutti i dati di esso
        if ($result->NumRows() == 0) {
            return false;
        } else {
            while ($row = $result->FetchRow()) {
                $news[] = new Attachment($row['id_attachment'], $row['name'], $row['date'], $row['description'], $row['id_user'], $row['id_materia'], $row['weight'], $row['file_url']);
            }
        }

        return $news;
    }

}

?>